package com.zeus.common.enums;

import lombok.Getter;

/**
 * 宙斯通知类型
 *
 * @author f1ybear_wang  2022/2/23 6:51 下午
 */
public enum ZeusEventTypeEnum {
    /**
     * log4j告警
     */
    LOG4J_EVENT("LOG4J_EVENT", "log4j告警"),
    /**
     * logback告警
     */
    LOGBACK_EVENT("LOGBACK_EVENT", "logback告警"),
    /**
     * api告警
     */
    API_EVENT("API_EVENT", "api告警"),
    /**
     * 注解告警
     */
    ANNOTATION_EVENT("ANNOTATION_EVENT", "注解告警"),
    /**
     * 服务启动通知
     */
    SERVICE_START_EVENT("SERVICE_START_EVENT", "服务启动通知"),
    /**
     * 服务关闭通知
     */
    SERVICE_SHUTDOWN_EVENT("SERVICE_SHUTDOWN_EVENT", "服务关闭通知"),

    /**
     * 服务停止通知
     */
    SERVICE_STOPPED_EVENT("SERVICE_STOPPED_EVENT", "服务停止通知"),

    /**
     * 错误通知
     */
    ERROR_EVENT("ERROR_EVENT", "错误通知");

    /**
     * 编码
     */
    @Getter
    private final String code;

    /**
     * 描述
     */
    @Getter
    private final String description;

    /**
     * 构造
     *
     * @param code        编码
     * @param description 描述
     */
    ZeusEventTypeEnum(String code, String description) {
        this.code = code;
        this.description = description;
    }
}
